﻿
<button class="btn btn-primary" @onclick="Toggle">
    @ButtonText
</button>
<div class="collapse @(Expand?"show":"")">
    @ChildContent
</div>

@code {
    [Parameter] public RenderFragment? ChildContent { get; set; }
    // [Parameter]public EventCallback OnExapanded{ get; set; }
    // [Parameter]public EventCallback OnCollapsed{ get; set; }

    [Parameter]public EventCallback<bool> OnToggle{ get; set; }

    string? ButtonText => Expand ? "折叠" : "展开";
    bool Expand { get; set; }

    async Task Toggle()
    {
        Expand = !Expand;

        await OnToggle.InvokeAsync(Expand);

        // if (Expand)
        // {
        //     await OnExapanded.InvokeAsync();
        // }
        // if (!Expand)
        // {
        //     await OnCollapsed.InvokeAsync();
        // }
    }
}
